#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2020-08-25 13:43:50
# @Author  : Zuo Zhongfei (zuozhongfei@126.com)
# @Link    : www
# @Version : $Id$

import os

alien_0 = {
    'color': 'green',
    'points': 5
}
print(alien_0["color"])
print(alien_0['points'])

# 字典是一种动态结构，可随时在其中添加键—值对。要添加键—值对，可依次指定字典名、用方括号括起的键和相关联的值。
alien_0['x'] = 0
alien_0['y'] = 10
print(alien_0)

# 再次为某一个键赋值，将改变这个键对应的值
alien_0['x'] = 10
print(alien_0)

# 可以先定义一个空字典，然后分别添加各个键值对
alien_1 = {}
alien_1['color'] = 'red'
alien_1['points'] = 3

print(alien_1)

# 删除键值对 ： del
alien_2 = {
    "color": "blue",
    'name': 'xiaoli'
}
print(alien_2)

del alien_2['color']
print(alien_2)


# 练习：
# 6-1 人：使用一个字典来存储一个熟人的信息，
# 包括名、姓、年龄和居住的城市。
# 该字典应包含键first_name、last_name、age和city。
# 将存储在该字典中的每项信息都打印出来。
print("练习：")

xiaoming = {
    "first_name": "xiaoming",
    "last_name": "wang",
    "age": 13,
    "city": "beijing"
}
print(xiaoming)

# 遍历字典
# for循环
xiaoming = {
    "first_name": "xiaoming",
    "last_name": "wang",
    "age": '13',
    "city": "beijing"
}

for key, value in xiaoming.items():
    print("\nKey: " + key)
    print("Value: " + str(value))

# 解析：字典名.items() ,返回一个键值对列表

# 遍历所有的键：keys()
for key in xiaoming.keys():
    print(key.title())

# 遍历字典时，会默认遍历所有的键，因此，
# 如果将上述代码中的forname in favorite_languages.keys():替换为
# for name infavorite_languages:，输出将不变。
for key in xiaoming:
    print(key.title())

# 按顺序遍历字典中的所有键
# 可以使用sorted（）函数类对获取的keys列表进行排序
xiaoming_keys_list = sorted(xiaoming.keys())
print(xiaoming_keys_list)

# 遍历字典中所有的值
# 使用sorted()函数，对字典的values()获取到的值列表进行排序
xiaoming_values_list = sorted(xiaoming.values())
print(xiaoming_values_list)

# 使用set()生成一个集合，集合中不包含重复元素，会自动去重
numbers = [1, 2, 3, 4, 5, 6, 2, 3, 4]
print(numbers)
print(set(numbers))

# 练习：
# 创建三个表示人的字典，然后把三个自典放入一个列表中，遍历列表，将其中的每个人的信息打印出来
xiaoming = {"name": 'xiaoming', 'age': '12', 'hobby': 'listen music'}
xiaowang = {"name": 'xiaowang', 'age': '15', 'hobby': 'computer game'}
laowang = {"name": 'laowang', 'age': '56', 'hobby': 'chess'}

peopels = [xiaoming, xiaowang, laowang]

for peopel in peopels:
    print("this is " + peopel["name"]
          + ",he is " + peopel["age"] +  " year old,"
          + "he hobby is" + peopel["hobby"] + ".")
